package org.akomantoso.core.data.attribute;

/**
 * These attributes identify the element in an absolute manner. In elements
 * using this attribute definition the id attribute is optional. The evolvingId
 * is used to mark the identifier that the structure would have in a static
 * situation, and is usually identical to id.
 * 
 * <pre>
 * 	<xsd:attributeGroup name="idopt">
 * 		<xsd:attribute name="id" type="xsd:ID"/>
 * 		<xsd:attribute name="evolvingId" type="xsd:NMTOKEN"/>
 * 	</xsd:attributeGroup>
 * </pre>
 * 
 * @author <a href="mailto:jacques.militello@gmail.com">Jacques Militello</a>
 * 
 * @since http://www.akomantoso.org/1.0
 */
public interface IdOpt {

	public static final String ATTRIBUTE_ID = "id";
	
	public static final String ATTRIBUTE_EVOLVING_ID = "evolvingId";
	
	String getId();
	
	void setId(String id);
	
	String getEvolvingId();
	
	void setEvolvingId(String evolvingId);
	
}